package com.pojo;

import com.ExcelListener;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

/**
 * @author: fanyouzhao
 * @date: 11:01 2021/6/29
 */
public class EasyExcelUtils {

    public static void write(List<VolOrg> list){
        //实现excel写的操作
        //1 设置写入文件夹地址和excel文件名称
        String filename = "D:\\志愿四川\\志愿四川组织列表.xlsx";
        // 2 调用easyexcel里面的方法实现写操作
        // write方法两个参数：第一个参数文件路径名称，第二个参数实体类class
        EasyExcel.write(filename,VolOrg.class).sheet("列表").doWrite(list);
    }

    public static void read(){
        String filename = "D:\\志愿四川\\志愿四川组织列表.xlsx";
        EasyExcel.read(filename,Username.class,new ExcelListener()).sheet().doRead();
    }

    public static void listFill(List<VolOrg> list) {
        // 模板注意 用{} 来表示你要用的变量 如果本来就有"{","}" 特殊字符 用"\{","\}"代替
        // 填充list 的时候还要注意 模板中{.} 多了个点 表示list
        String templateFileName ="D:\\志愿四川" + File.separator + "temp.xlsx";

        // 方案1 一下子全部放到内存里面 并填充
        String fileName = "D:\\志愿四川\\志愿四川组织列表.xlsx";
        // 这里 会填充到第一个sheet， 然后文件流会自动关闭
        EasyExcel.write(fileName).withTemplate(templateFileName).sheet().doFill(list);
    }

}
